Prediction controlling device

ABSTRACT

A controlling device of high follow-up accuracy is provided, the prediction accuracy of which is not degraded by an FF signal when the controlled object is feedforward-controlled. The prediction controlling device  1  has a feedforward signal generation command filter  2  for generating a future command increment which is an increment from one sampling period to the next sampling period of a target command signal from the present to a multiple-sampling future and the feedforward signal from the future target command signal. A prediction controller  3  receives the future command increment, the feedforward signal, and a controlled object output at the past sampling time over zero sampling, and determines the future error prediction value by using a transfer function model from the feedforward signal and the control input to the controlled object output.

This application is the U.S. National Phase under 35 U.S.C. §371 ofInternational Application PCT/JP01/06951, filed Aug. 10, 2001, whichclaims priority to Japanese Patent Application No. 2000-248738, filedAug. 18, 2000. The International Application was published under PCTArticle 21(2) in a language other than English.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to a controlling device of a machine tool,and a robot, etc.

BACKGROUND OF THE INVENTION

In the prior arts, there is a device disclosed in the xi-th embodimentof International Unexamined Patent Publication No. W093/20489, which isproposed by the present applicant, as this type of controlling device.FIG. 6 is a block diagram showing a configuration of a device accordingto the xi-th embodiment of the International Unexamined PatentPublication No. W093/20489.

In FIG. 6, i indicates the present time, i+X (X is a positive integer)indicates a future time coming in X sampling from the present samplingtime i at a sampling time Ts, and i−X indicates a past time elapsed by Xsampling from the time i at a sampling time Ts. Also, r(Y) (Y is aninteger) indicates a target command of time Y, y(Y) indicates an outputfrom a controlled object (not illustrated) at time Y, and u(Y) indicatesan input (hereinafter called “control input”) to a controlled object(not illustrated) at time Y. A prior art controlling device 80 shown inFIG. 6 is a controlling device for reconciling the output of acontrolled object (not illustrated) with a target command given.

Referring to FIG. 6, the controlling device 80 inputs a control inputu(i) into a controlled object (not illustrated), so that an output y(i)from the object is reconciled with a target command r(i), using a futuretarget command r(i+M) given and an output y(i−K) from the object asinputs. The controlling device 80 includes memories 81, 82, 83, 84, anoperational unit 85, and a subtracter 86.

The memory 81 stores a target command from K sampling past to M samplingfuture, memory 82 stores controlling constants, memory 83 stores outputsfrom a controlled object from K+Na (Na is a natural number) samplingpast to K sampling past, and memory 84 stores control inputs from K+Nb(Nb is a natural number) past to 1 sampling past. The subtracter 86acquires an error between the target command r(i−K) and an output y(i−K)from the controlled object.

The operational unit 85 is a computing element for determining a controlinput u(i) as shown below, so that an performance function regardingboth a future error prediction value obtained by using a transferfunction model from a control input u(i) to an output y(i) of acontrolled object and the control input become minimal:${u(i)} = {{\sum\limits_{m = 1}^{M}{q_{m}{r( {i + m} )}}} - {\sum\limits_{n = 0}^{Na}{p_{n}{y( {i - K - n} )}}} + {{Ee}( {i - K} )} - {\sum\limits_{n = 1}^{{Nb} + K}{g_{n}{u( {i - n} )}}}}$

According to the prior art controlling device 80, since the controlinput is determined so that the future error prediction value isminimized, control of high follow-up accuracy can be applied to thecontrolled object.

However, in the prior art controlling device 80 shown in FIG. 6, if anyfeedforward control is applied to the controlled object, the controllingdevice 80 predicts a future error with the feedforward signal(hereinafter called “FF signal”) not taken into consideration, wherein aprediction error is produced in the future error prediction value, andresultantly there is a problem of worsening the follow-up accuracy.

DISCLOSURE OF THE INVENTION

It is therefore an object of the invention to provide a controllingdevice of high follow-up accuracy, the prediction accuracy of which doesnot deteriorate by an FF signal where feedforward control is applied toa controlled object.

In order to solve the above-described problem, a prediction controllingdevice according to the invention outputs a control input andfeedforward signal to the controlled object, so that the output of thecontrolled object is reconciled with a target command, and theprediction controlling device has a feedforward signal generationcommand filter that receives a target command signal which isinformation of the future target command as an input and outputs afuture command increment which is an increment from one sampling periodto the next sampling period of a target command signal from the presentsampling time to a multiple-sampling future and a feedforward signalfrom the future target command signal, and the prediction controllingdevice further has a prediction controller that receives the futurecommand increment, the feedforward signal and a controlled object outputat the past sampling time over zero sampling as inputs, acquires thefuture error prediction value by using a transfer function model fromthe feedforward signal and the control input to the controlled objectoutput, determines the control input so that the performance function ofthe error prediction value and the control input becomes minimal, andapplies the control input to the controlled object.

In operations in the prediction controller, since a future errorprediction value is acquired by a transfer function model with thefeedforward signal taken into consideration, and the control input isdetermined so that the performance function of the future predictionvalue and control input is minimized, the prediction accuracy is notdegraded by adding the feedforward control thereto.

According to an embodiment of the invention, the above-describedfeedforward signal generation command filter receives theabove-described target command signal at the present sampling time as aninput and outputs the corresponding target command signal or incrementsbetween the respective sampling periods of signals obtained by samplingthe corresponding target command signal as the above-described commandincrements.

According to the present embodiment of the invention, theabove-described feedforward signal generation command filter calculatesand outputs the above-described feedforward signals, which are:

FF ₁(i)=Gain1·Δr(i+m 1)

FF ₂(i)=Gain2·{Δr(i+m 2)−Δr(i+m 2−1)}

where i is the present sampling time, Gain1 and Gain2 are constants, m1and m2 are integers that meet 0≦m1≦m2, Δr(i+m1) is the above-describedcommand increment of the m1 sampling future, and FF₁(i) and FF₂(i) arethe feedforward signals.

According to the embodiment of the invention, the above-describedcontrolled objects are a motor and its speed controller, the controlinput is a speed command, the controlled object output is a motorposition, and the feedforward signals are a feedforward signal for speedcontrol, and a feedforward signal for torque control.

According to the present embodiment of the invention, theabove-described prediction controller includes: an integrator thatreceives the future command increment as an input and calculates thetarget command from the present sampling time to a multiple-samplingfuture; a memory section that stores constants for prediction control inadvance and receives as inputs the target command calculated by theintegrator, two feedforward signals, controlled object output, andcontrol input, and stores the past target command, past feedforwardsignals, past controlled object output and past control input; asubtracter that subtracts the controlled object output from the pasttarget command and acquires the past error; and an operational unit thatreceives as inputs the target command acquired by the above-describedintegrator, the past feedforward signals, the past controlled objectoutput, the past control input and constants for prediction control,which are stored by the memory section, and the error obtained by thesubtracter, obtains a future error prediction value by using adiscrete-time transfer function model, which is:

Y(z)={(b ₁ z ⁻¹ + . . . +b _(Nb) z ^(−Nb))U(z)+(d ₁ z ⁻¹ + . . . +d_(Nd) z ^(−Nd))FF ₁(z)+(c ₁ z ⁻¹ + . . . +c _(Nc) z ^(−Nc))FF ₂(z)}/(1−a₁ z ⁻¹ 31 . . . −a _(Na) z ^(−Na)),

from the feedforward signal and the control input to the controlledobject output where FF₁(z) and FF₂(z) are z-converted by the twofeedforward signals, U(z) is z-converted by the above control input,Y(z) is z-converted by the controlled object output, Na, Nb, Nc, and Ndare natural numbers, and a₁, a₂, . . . , a_(Na), b₁, b₂, . . . , b_(Nb),c₁, c₂, . . . , c_(Nc), d₁, d₂, . . . , d_(Nd) are prescribedcoefficients, and determines and outputs the control input so that theperformance function of the corresponding future error prediction valueand control input is minimized.

According to the embodiment of the invention, the above-describedoperational unit calculates and outputs the above-described controlinput, which is:${u(i)} = {{\sum\limits_{m = 1}^{M}{q_{m}{r( {i + m} )}}} - {\sum\limits_{n = 0}^{Na}{p_{n}{y( {i - K - n} )}}} + {{Ee}( {i - K} )} - {\sum\limits_{n = 1}^{{Nb} + K}{g_{n}{u( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nd} + K}{x_{n}{{FF}_{1}( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nc} + K}{t_{n}{{FF}_{2}( {i - n} )}}}}$

where x is an integer showing a sampling time, FF₁(x) and FF₂(x) are thetwo feedforward signals, u(x) is the control input, y(x) is thecontrolled object output, r(x) is the target command, M, Na, Nb, Nc, andNd are natural numbers, K is an integer of K≧0, qm, pn, E, gn, xn, andtn are said constants for the above-described prediction control, and iis the present sampling time.

According to another embodiment of the invention, the predictioncontrolling device includes: a first difference unit that receives thetwo feedforward signals as inputs and acquires increments of therespective sampling periods of the corresponding feedforward signals asfeedforward signal increments; a second difference unit that receivesthe past controlled object output as an input and acquires increments ofthe respective sampling periods of the corresponding controlled objectoutput as the past output increments; a memory section that storesconstants for prediction control in advance, receives as inputs thecommand increments, two feedforward signal increments acquired by thefirst difference unit, output increment acquired by the seconddifference unit, control input, and increment of the control input, andstores the past command increment, past feedforward signal increments,past output increment, past control input, and past increment of thecontrol input; a subtracter that subtracts the past output incrementfrom the past command increment and acquires an increment of the pasterror; a first integrator that integrates the increment of the erroracquired by the subtracter and acquires the above-described error; anoperational unit that receives as inputs the future command increment,past command increment, past feedforward signal increments, past outputincrement, past control input, past increment of the control input,constants for the prediction control, which are stored by the memorysection, and the error acquired by the first integrator, acquires afuture error prediction value by using a discrete-time transfer functionmodel from the feedforward signals and the control input to thecontrolled object output, which is:

Y(z)={(b ₁ z ⁻¹ + . . . +b _(Nb) z ^(−Nb))U(z)+(d ₁ z ⁻¹ + . . . +d_(Nd) z ^(−Nd))FF ₁(z)+(c ₁ z ⁻¹ + . . . +c _(Nc) z ^(−Nc))FF ₂(z)}/(1−a₁ z ⁻¹ − . . . −a _(Na) z ^(−Na))

where FF₁(z) and FF₂(z) are z-converted by the two feedforward signals,U(z) is z-converted by the control input, Y(z) is z-converted by thecontrolled object output, Na, Nb, Nc, and Nd are natural numbers, anda₁, a₂, . . . , a_(Na), b₁, b₂, . . . , b_(Nb), c₁, c₂, . . . , c_(Nc),d₁, d₂, . . . , d_(Nd) are prescribed coefficients, and determines andoutputs the increment of the control input so that the performancefunction with respect to the corresponding future error prediction valueand control input is minimized; and a second integrator that integratesthe increment of the control input outputted by the above-describedoperational unit and acquires the control input.

According to the embodiment of the invention, the above-describedoperational unit calculates and outputs the increment of the controlinput, which is:${\Delta \quad {u(i)}} = {{\sum\limits_{m = {K + 1}}^{M}{v_{m}\Delta \quad {r( {i + m} )}}} - {\sum\limits_{n = 0}^{{Na} - 1}{p_{n}\Delta \quad {y( {i - K - n} )}}} + {{Ee}( {i - K} )} - {\sum\limits_{n = 1}^{{Nb} + K - 1}{g_{n}\Delta \quad {u( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nd} + K - 1}{x_{n}\Delta \quad {{FF}_{1}( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nc} + K - 1}{t_{n}\Delta \quad {{FF}_{2}( {i - n} )}}} - {{Fu}( {i - 1} )}}$

where x is an integer showing a sampling time, ΔFF₁(x) and ΔFF₂(x) areincrements of the two feedforward signals, Δu(x) is an increment of thecontrol input, Δy(x) is the output increment, Δr(x) is the commandincrement, e(x) is the error, M, Na, Nb, Nc, and Nd are natural numbers,K is an integer of K≧0, vm, pn, E, gn, xn, tn and F are constants forthe prediction control, and i is the present sampling time.

According to still another embodiment of the invention, theabove-described prediction controller includes: a difference unit thatreceives the past controlled object output as an input and acquiresincrements of respective sampling periods of said correspondingcontrolled object output as the past output increments; a memory sectionthat stores constants for prediction control in advance, receives asinputs the command increment, two feedforward signals, output incrementobtained by said difference means, and control input, and stores saidpast command increment, said past feedforward signals, said past outputincrement, and said past control input; a subtracter that subtracts thepast output increment from the past command increment, and acquires thepast error increments; an integrator that integrates the increment ofthe error, which is obtained by said subtracter and acquires said error;and

an operational unit that receives as inputs the future commandincrement, past command increment, past feedforward signal, past outputincrement, past control input, constants for the prediction control,which are stored by the memory section, and the error acquired by theintegrator, acquires a future error prediction value by using adiscrete-time transfer function model from the feedforward signals andthe control input to the controlled object output, which is

Y(z)={(b ₁ z ⁻¹ + . . . +b _(Nb) z ^(−Nb))U(z)+(d ₁ z ⁻¹ + . . . +d_(Nd) z ^(−Nd))FF ₁(z)+(c₁ z ⁻¹ + . . . +c _(Nc) z ⁻)FF ₂(z)}/{(1−z⁻¹)(1−a ₁ z ⁻¹ − . . . −a _(Na) z ^(−Na))}

where FF₁(z) and FF₂(z) are z-converted by the two feedforward signals,U(z) is z-converted by the control input, Y(z) is z-converted by thecontrolled object output, Na, Nb, Nc, and Nd are natural numbers, a₁,a₂, . . . , a_(Na), b₁, b₂, . . . , b_(Nb), c₁, c₂, . . . , c_(Nc), d₁,d₂, . . . , d_(Nd) are prescribed coefficients, and determines andoutputs the control input so that the performance function with respectto the corresponding future error prediction value and control input isminimized.

According to the embodiment of the invention, the above-describedoperational unit calculates and outputs the above-described controlinput, which is:${u(i)} = {{\sum\limits_{m = {{- K} + 1}}^{M}{v_{m}\Delta \quad {r( {i + m} )}}} - {\sum\limits_{n = 0}^{{Na} - 1}{p_{n}\Delta \quad {y( {i - K - n} )}}} + {{Ee}( {i - K} )} - {\sum\limits_{n = 1}^{{Nb} + K - 1}{g_{n}{u( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nd} + K - 1}{x_{n}{{FF}_{1}( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nc} + K - 1}{t_{n}{{FF}_{2}( {i - n} )}}}}$

where x is an integer showing a sampling time, FF₁(x) and FF₂(x) are thetwo feedforward signals, u(x) is the control input, Δy(x) is the outputincrement, Δr(x) is the command increment, e(x) is the error, vm, pn, E,gn, xn, and tn are constants for the prediction control, and i is thepresent sampling time.

According to the invention, in the calculations of the predictioncontroller, a future error prediction value is acquired by a transferfunction model in which the feedforward signals are taken intoconsideration, and the control input is determined so that theperformance function with respect to the future prediction value andcontrol input is minimized. Therefore, the prediction accuracy is notdegraded by addition of the feedforward control, wherein control of highfollow-up accuracy is enabled.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a configuration of a predictioncontrolling device according to an embodiment of the invention;

FIG. 2 is a block diagram showing a configuration of an FF signalgeneration command filter according to the embodiment;

FIG. 3 is a block diagram showing a configuration of a predictioncontroller according to the embodiment;

FIG. 4 is a block diagram showing a configuration of a predictioncontroller 4 according to another configuration of the predictioncontrolling device of the invention;

FIG. 5 is a block diagram showing a configuration of a predictioncontroller 6 according to still another configuration of the predictioncontrolling device of the invention;

FIG. 6 is a block diagram showing a configuration of a prior artcontrolling device; and

FIG. 7 is a block diagram showing a configuration of a controlled objectaccording to the present embodiment.

BEST MODE FOR CARRYING OUT THE INVENTION

Hereinafter, a detailed description is given of an embodiment of theinvention with reference to the accompanying drawings.

FIG. 1 is a block diagram showing a configuration of a predictioncontrolling device according to an embodiment of the invention.Referring to FIG. 1, a prediction controlling device 1 according to thepresent embodiment outputs control input u(i) and FF signals to acontrolled object, so that the output of the controlled object isreconciled with a target command, and includes an FF signal generationcommand filter 2 and a prediction controller 3.

In addition, as shown in FIG. 7, the controlled object 9 according tothe embodiment is a motor 91 and its speed controller 92 as one example.However, the prediction controlling device 1 according to the embodimentis not limited to control of the motor and its speed controller. It canbe used for other controlled objects for which feedforward control iscarried out. For example, the prediction controlling device 1 can beused for a process control that controls temperature, humidity,pressure, flow rate, etc., in a chemical reaction process of a chemicalplant.

Also, a control input u(i) is a speed command to the speed controller92, an output y(i−K) of the controlled object 9 is a motor position ofthe motor 91 of the K (an integer of K≧0) sampling past, and FF signalsinclude an FF signal V_(FF)(i) for speed control and an FF signalT_(FF)(i) for torque control.

The FF signal generation command filter 2 receives information regardinga future target command at the present sampling time i as an input andoutputs command increment Δr(i), . . . , Δr(i+M) to an M sampling future(M is a natural number) and FF signals V_(FF)(i) and T_(FF)(i). Also,variables with Δ, etc., indicate an increment in one sampling period.

FIG. 2 is a block diagram showing a configuration of an FF signalgeneration command filter according to the embodiment. Referring to FIG.2, the FF signal generation command filter 2 includes a filter 21, amemory 22, and an FF signal operational unit 23. The filter 21 receivesinformation regarding a future target command as an input, and outputsincrements for respective sampling periods in an M sampling future ofthe inputted signal or a signal, which is obtained by filtering theinputted signal by an internal digital filter (not illustrated), as acommand increment Δr(i+M).

The digital filter may be any type of filter which can be used to filterthe target command. For example, it may be an IIR filter whose impulseresponse is an infinite length or an FIR filter whose impulse responseis a definite length. Further, the filter may be a low-pass filter,notch filter, or a filter for generating a signal to suppress vibrationsof the controlled object output with dynamic characteristics of thecontrolled object taken into consideration.

The memory 22 stores command increments outputted from the filter 21 oneafter another and outputs command increments Δr(i), Δr(i+1), . . . ,Δr(i+M) from the present time i to an M sampling future.

The FF signal operational unit 23 acquires and outputs FF signalsV_(FF)(i) and T_(FF)(i) from the command increments outputted from thememory 22 Δr(i), Δr(i+1), . . . , Δr(i+M). An operational expression toacquire FF signals is not particularly limited. For example, it may denyan external disturbance given to the controlled object 9 if it isunderstood, or may be

V _(FF)(i)=Gain1·Δr(i+m 1)

T _(FF)(i)=Gain2·{Δr(i+m 2)−Δr(i+m 2−1)}

Herein, Gain1 and Gain 2 are multipliers. Δr(i+m1) is a commandincrement of an m1 sampling time future. And, m1 and m2 are integersthat meet 0≦m1≦m2.

FIG. 3 is a block diagram showing a configuration of the predictioncontroller 3 according to the present embodiment. The predictioncontroller 3 receives as inputs the FF signals V_(FF)(i) and T_(FF)(i),command increments Δr(i), Δr(i+1), . . . , Δr(i+M), and output y(i−K) ofthe controlled object 9, acquires a future error prediction value byusing a transfer function model from the FF signals and control input tothe output, and determines and outputs the control input u(i) so thatthe performance function with respect to the future error predictionvalue and control input u(i) is minimized.

Referring to FIG. 3, the prediction controller 3 includes an integrator31 and memories 32, 33, 34, 35, 38 and 39, a subtracter 37, and anoperational unit 36. The integrator 31 acquires future commands valuesr(i), r(i+1), . . . , r(i+M) from the future command increments Δr(i),Δr(i+1), . . . , Δr(i+M). The memory 32 receives command values r(i+1),r(i+2), . . . , r(i+M) outputted from the integrator 31 as inputs, andstores command values r(i−1), r(i−2), . . . , r(i−K). The memory 33stores constants for prediction control, which are qm (m=1, 2, . . . ,M), pn (n=0, 1, . . . , Na), E, gn (n=1, 2, . . . , Nb+K), xn (n=0, 1, .. . , Nd+K), and tn (n=0, 1, . . . , Nc+K). The memory 34 receivesoutput y(i−K) of the controlled object 9 and stores the past outputsy(i−K), y(i−K−1), . . . , y(i−K−Na). Also, Na is a natural number. Thememory 35 receives control input u(i) as an input and stores the pastcontrol inputs u(i−1), u(i−2), . . . , u(i−K−Nb). In addition, Nb is anatural number. The memory 38 receives an FF signal V_(FF)(i) as aninput and stores the past FF signals V_(FF)(i), V_(FF)(i−1), . . . ,V_(FF)(i−K−Nd). Also, Nd is a natural number. The memory 39 receives anFF signal T_(FF)(i) and stores the past FF signals T_(FF)(i),T_(FF)(i−1), . . . , T_(FF)(i−K−Nc). Also, Nc is a natural number. Thesubtracter 37 acquires an error e(i−K) between the command value r(i−K)stored in the memory 32 and the output y(i−K) of the controlled object9. The operational unit 36 calculates the control input u(i) of thepresent time by calculations using Expression (1) and outputs it to thecontrolled object 9. $\begin{matrix}{{u(i)} = {{\sum\limits_{m = 1}^{M}{q_{m}{r( {i + m} )}}} - {\sum\limits_{n = 0}^{Na}{p_{n}{y( {i - K - n} )}}} + {{Ee}( {i - K} )} - {\sum\limits_{n = 1}^{{Nb} + K}{g_{n}{u( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nd} + K}{x_{n}{V_{FF}( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nc} + K}{t_{n}{T_{FF}( {i - n} )}}}}} & (1)\end{matrix}$

Since the prediction controlling device 1 according to the presentembodiment includes memories 38 and 39 that store FF signals in theprediction controller 3 and the FF signals are taken into considerationin the calculations made by the operational unit 36, the predictionaccuracy is not degraded by adding feedforward control thereto, andfurther since the FF signals are effectively utilized, the follow-upaccuracy with respect to a target command is high.

Also, the prediction controlling device 1 according to the embodimentmay use other configurations of a prediction controller instead of theprediction controller 3.

FIG. 4 is a block diagram showing the configuration of a predictioncontroller 4 of another configuration of the prediction controllingdevice 1 according to the invention. With reference to FIG. 4, theprediction controller 4 includes integrators 41, 42, difference units43, 44, and 45, memories 46, 47, 48, 49, 50, 53, and 54, an operationalunit 51, and a subtracter 52. The memory 46 receives future commandincrements Δr(i), Δr(i+1), . . . , Δr(i+M) as inputs, and stores commandvalue increments Δr(i−1), Δr(i−2), . . . , Δr(i−K). The memory 47 storesconstants vm (m=−K+1, −K+2, . . . , M), pn (n=0, 1, . . . , Na−1), E, gn(n=1, 2, . . . , Nb+K−1), xn (n=0, 1, . . . , Nd+K−1), tn (n=0, 1, . . ., Nc+K−1), and F. The difference unit 43 receives output y(i−K) of thecontrolled object 9, and acquires an output increment Δy(i−K) betweenrespective sampling periods. The memory 48 receives the incrementΔy(i−K) as an input and stores the past output increments Δy(i−K−Na+1),Δy(i−K−Na+2), . . . , Δy(i−K). The memory 49 receives an increment Δu(i)of the control input, which is an output of the operational unit 51, asan input, and stores the increments Δu(i−K−Nb+1), Δu(i−K−Nb+2), . . . ,Δu(i−1) of the past control input. The memory 50 receives a controlinput u(i), which is an output of the integrator 42, as an input, andstores the past control input u(i−1). The difference unit 44 receivesthe FF signal V_(FF)(i) as an input, and acquires an incrementΔV_(FF)(i) between the sampling periods. The memory 53 receives anincrement ΔV_(FF)(i) of the FF signal as an input, and stores the pastincrements ΔV_(FF)(i−K−Nd+1), ΔV_(FF)(i−K−Nd+2), . . . , ΔV_(FF)(i). Thedifference unit 45 receives the FF signal T_(FF)(i) as an input, andacquires the increment ΔT_(FF)(i) between the sampling periods. Thememory 54 receives an increment ΔT_(FF)(i) of the FF signal as an input,and stores the past increments ΔT_(FF)(i−K−Nc+1), ΔT_(FF)(i−K−Nc+2), . .. , ΔT_(FF)(i). The subtracter 52 acquires an error Δe(i−K) between thecommand increment Δr(i−K) stored by the memory 46 and the outputincrement Δy(i−K) outputted by the difference unit 43. The integrator 41integrates a difference value Δe(i−K) and acquires an error e(i−K). Theoperational unit 51 calculates the control input increment Δu(i) of thepresent time by calculations of expression (2). The integrator 42integrates the control input increment Δu(i), acquires control inputu(i) and outputs it to the controlled object 9. $\begin{matrix}{{\Delta \quad {u(i)}} = {{\sum\limits_{m = {{- K} + 1}}^{M}{v_{m}\Delta \quad {r( {i + m} )}}} - {\sum\limits_{n = 0}^{{Na} - 1}{p_{n}\Delta \quad {y( {i - K - n} )}}} + {{Ee}( {i - K} )} - {\sum\limits_{n = 1}^{{Nb} + K - 1}{g_{n}\Delta \quad {u( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nd} + K - 1}{x_{n}\Delta \quad {V_{FF}( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nc} + K - 1}{t_{n}\Delta \quad {T_{FF}( {i - n} )}}} - {{Fu}( {i - 1} )}}} & (2)\end{matrix}$

As in the case of the prediction controller 3, it is possible to obtainhigh prediction accuracy by the prediction controlling device 1 usingthe prediction controller 4.

FIG. 5 is a block diagram showing the configuration of a predictioncontroller 6 according to still another configuration of the predictioncontrolling device 1 of the invention. With reference to FIG. 5, theprediction controller 6 includes an integrator 41, a difference unit 43,memories 46, 61, 48, 62, 64, and 65, an operational unit 63, and asubtracter 52. The integrator 41, difference unit 43, memories 46 and48, and subtracter 52 are the same as those in FIG. 4. The memory 61stores constants vm (m=−K+1, −K+2, . . . , M), pn (n=0, 1, . . . ,Na−1), E, gn (n=1, 2, . . . , Nb+K−1), xn (n=0, 1, . . . , Nd+K−1), andtn (n=0, 1, . . . , Nc+K−1). The memory 62 receives a control inputu(i), which is an output of the operational unit 63, as an input, andstores the past control inputs u(i−K−Nb+1), u(i−K−Nb+2), . . . , u(i−1).The memory 64 receives an FF signal V_(FF)(i) as an input and stores thepast FF signals V_(FF)(i−K−Nd+1), V_(FF)(i−K−Nd+2), . . . , V_(FF)(i).The memory 65 receives an FF signal T_(FF)(i) as an input and stores thepast FF signals T_(FF)(i−K−Nc+1), T_(FF)(i−K−Nc+2), . . . , T_(FF)(i).The operational unit 63 calculates the control input u(i) of the presenttime by calculations of expression (3) and outputs it to the controlledobject 9. $\begin{matrix}{{u(i)} = {{\sum\limits_{m = {{- K} + 1}}^{M}{v_{m}\Delta \quad {r( {i + m} )}}} - {\sum\limits_{n = 0}^{{Na} - 1}{p_{n}\Delta \quad {y( {i - K - n} )}}} + {{Ee}( {i - K} )} - {\sum\limits_{n = 1}^{{Nb} + K - 1}{g_{n}{u( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nd} + K - 1}{x_{n}{V_{FF}( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nc} + K - 1}{t_{n}{T_{FF}( {i - n} )}}}}} & (3)\end{matrix}$

As in the cases of the prediction controllers 3 and 4, it is possible toobtain high prediction accuracy by the prediction controlling device 1using the prediction controller 6.

Next, a description is given of expressions (1) through (3) describedabove. First, expression (1) is derived. It is assumed thatdiscrete-time transfer function model of the controlled object 9 fromtwo FF signals V_(FF)(i), T_(FF)(i) and control input u(i) to outputy(i) are obtained by:

Y(z)={(b ₁ z ⁻¹ + . . . +b _(Nb) z ^(−Nb))U(z)+(d ₁ z ⁻¹ + . . . +d_(Nd) z ^(−Nd))V _(FF)(z)+(c ₁ z ⁻¹ + . . . ++c _(Nc) z ^(−Nc))T_(FF)(z)}/(1−a ₁ z ⁻¹ − . . . −a _(Na) z ^(−Na))  (4)

Here, Y(z), U(z), V_(FF)(z), and T_(FF)(z) are z-transform of y(i),u(i), V_(FF)(i), and T_(FF)(i). In this case, the input and output modelbecomes: $\begin{matrix}{{\hat{y}(i)} = {{\sum\limits_{n = 1}^{Na}{a_{n}{\hat{y}( {i - n} )}}} + {\sum\limits_{n = 1}^{Nb}{b_{n}{u( {i - n} )}}} + {\sum\limits_{n = 1}^{Nd}{d_{n}{v_{FF}( {i - n} )}}} + {\sum\limits_{n = 1}^{Nc}{c_{n}{T_{FF}( {i - n} )}}}}} & (5)\end{matrix}$

At time i, if the model estimate value, which is: ŷ(i+m) (m=−K+1, −K+2,. . . ), of output after time i−K, is expressed in terms of an actuallymeasured value y(i−n) (n=K, K+1, . . . ) since the following expressions(6a) and (6b) are established, $\begin{matrix}{{{\hat{y}( {i - K + 1} )} = {{\sum\limits_{n = 1}^{Na}{a_{n}{y( {i - K + 1 - n} )}}} + {\sum\limits_{n = 1}^{Nb}{b_{n}{u( {i - K + 1 - n} )}}} + {\sum\limits_{n = 1}^{Nd}{d_{n}{v_{FF}( {i - K + 1 - n} )}}} + {\sum\limits_{n = 1}^{Nc}{c_{n}{T_{FF}( {i - K + 1 - n} )}}}}}{m = {{- K} + 1}}} & ( {6a} ) \\{{{\hat{y}( {i + m} )} = {{\sum\limits_{n = 1}^{m + K - 1}{a_{n}{\hat{y}( {i + m - n} )}}} + {\sum\limits_{n = {m + K}}^{Na}{a_{n}{y( {i + m - n} )}}} + {\sum\limits_{n = 1}^{Nb}{b_{n}{u( {i + m - n} )}}} + {\sum\limits_{n = 1}^{Nd}{d_{n}{v_{FF}( {i + m - n} )}}} + {\sum\limits_{n = 1}^{Nc}{c_{n}{T_{FF}( {i + m - n} )}}}}}{{m = {{- K} + 2}},{{- K} + 3},\ldots}} & ( {6b} )\end{matrix}$

it becomes: $\begin{matrix}{{{\hat{y}( {i + m} )} = {{{\sum\limits_{n = K}^{{N\quad a} + K - 1}\quad {{\hat{a}}_{mn}{y( {i - n} )}}} + {\sum\limits_{n = 0}^{{N\quad b} + K - 1}\quad {b_{mn}{u( {i - n} )}}} + {\sum\limits_{n = 0}^{{N\quad d} + K - 1}\quad {d_{mn}{v_{FF}( {i - n} )}}} + {\sum\limits_{n = 0}^{{N\quad c} + K - 1}\quad {{\hat{c}}_{mn}{T_{FF}( {i - n} )}\quad m}}} = {{- K} + 1}}},{{- K} + 2}} & (7)\end{matrix}$

Herein, where it is assumed that the future control input andfeedforward signal are u(j)=u(i), V_(FF)(j)=V_(FF)(i),T_(FF)(j)=T_(FF)(i) (j=i+1, i+2, . . . ), the coefficients â_(mn),{circumflex over (b)}_(mn), {circumflex over (d)}_(mn), ĉ_(mn) are givenby: $\begin{matrix}\begin{matrix}{{\hat{a}}_{{({{- K} + 1})}n} = a_{n - K + 1}} \\{{m = {{{- K} + {1\quad n}} = K}},{K + 1},\ldots \quad,{{N\quad a} + K - 1}}\end{matrix} & ( {8a} ) \\\begin{matrix}{{\hat{a}}_{mn} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j} \cdot {\hat{a}}_{{({m \cdot j})}n}}} + a_{n + m}}} \\{{m = {{- K} + 2}},{{- K} + 3},{{\ldots \quad n} = K},{K + 1},\ldots \quad,{{N\quad a} + K - 1}}\end{matrix} & ( {8b} ) \\\begin{matrix}{{\hat{b}}_{{({{- K} + 1})}n} = b_{n - K + 1}} \\{{m = {{{- K} + {1\quad n}} = 0}},1,\ldots \quad,{{N\quad b} + K - 1}}\end{matrix} & ( {9a} ) \\\begin{matrix}{{\hat{b}}_{m\quad 0} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j} \cdot {\hat{b}}_{{({m \cdot j})}0}}} + {\sum\limits_{j = 1}^{m}\quad b_{j}}}} \\{{m = {{- K} + 2}},{{- K} + 3},{{\ldots \quad n} = 0}}\end{matrix} & ( {9b} ) \\\begin{matrix}{{\hat{b}}_{m\quad n} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j} \cdot {\hat{b}}_{{({m \cdot j})}n}}} + b_{n + m}}} \\{{m = {{- K} + 2}},{{- K} + 3},{{\ldots \quad n} = 1},2,\ldots \quad,{{N\quad b} + K - 1}}\end{matrix} & ( {9c} ) \\\begin{matrix}{{\hat{d}}_{{({{- K} + 1})}n} = d_{n - K + 1}} \\{{m = {{{- K} + {1\quad n}} = 0}},1,\ldots \quad,{{N\quad d} + K - 1}}\end{matrix} & ( {10a} ) \\\begin{matrix}{{\hat{d}}_{m\quad 0} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j} \cdot {\hat{d}}_{{({m \cdot j})}0}}} + {\sum\limits_{j = 1}^{m}\quad d_{j}}}} \\{{m = {{- K} + 2}},{{- K} + 3},{{\ldots \quad n} = 0}}\end{matrix} & ( {10b} ) \\\begin{matrix}{{\hat{d}}_{m\quad n} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j} \cdot {\hat{d}}_{{({m \cdot j})}n}}} + d_{n + m}}} \\{{m = {{- K} + 2}},{{- K} + 3},{{\ldots \quad n} = 1},2,\ldots \quad,{{N\quad d} + K - 1}}\end{matrix} & ( {10c} ) \\\begin{matrix}{{\hat{c}}_{{({{- K} + 1})}n} = c_{n - K + 1}} \\{{m = {{{- K} + {1\quad n}} = 0}},1,\ldots \quad,{{N\quad c} + K - 1}}\end{matrix} & ( {11a} ) \\\begin{matrix}{{\hat{c}}_{m\quad 0} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j} \cdot {\hat{c}}_{{({m \cdot j})}0}}} + {\sum\limits_{j = 1}^{m}\quad c_{j}}}} \\{{m = {{- K} + 2}},{{- K} + 3},{{\ldots \quad n} = 0}}\end{matrix} & ( {11b} ) \\\begin{matrix}{{\hat{c}}_{m\quad n} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j} \cdot {\hat{c}}_{{({m \cdot j})}n}}} + c_{n + m}}} \\{{m = {{- K} + 2}},{{- K} + 3},{{\ldots \quad n} = 1},2,\ldots \quad,{{N\quad c} + K - 1}}\end{matrix} & ( {11c} )\end{matrix}$

Here, a_(n)=0 (n>Na), b_(n)=0 (n<1 and n>Nb), d_(n)=0 (n<1 and n>Nd),c_(n)0 (n<1 and n>Nc). Therefore, if outputs after the time i−K arepredicted by the following, $\begin{matrix}{{{y^{*}( {i + m} )} = {{{\hat{y}( {i + m} )} + {y( {i - K} )} - {\sum\limits_{n = 1}^{N\quad a}\quad {a_{n}{y( {i - K - n} )}}} - {\sum\limits_{n = 1}^{N\quad b}\quad {b_{n}{u( {i - K - n} )}}} - {\sum\limits_{n = 1}^{N\quad d}\quad {d_{n}{V_{FF}( {i - K - n} )}}} - {\sum\limits_{n = 1}^{N\quad c}\quad {c_{n}{T_{FF}( {i - K - n} )}\quad m}}} = {{- K} + 1}}},\ldots} & (12)\end{matrix}$

the output prediction value y*(i+m) is expressed as shown below;$\begin{matrix}{{{y^{*}( {i + m} )} = {{{\sum\limits_{n = K}^{{N\quad a} + K}\quad {A_{mn}{y( {i - n} )}}} + {\sum\limits_{n = 0}^{{N\quad b} + K}\quad {B_{mn}{u( {i - n} )}}} + {\sum\limits_{n = 0}^{{N\quad d} + K}\quad {D_{mn}{V_{FF}( {i - n} )}}} + {\sum\limits_{n = 0}^{{N\quad c} + K}\quad {C_{mn}{T_{FF}( {i - n} )}\quad m}}} = {{- K} + 1}}},\ldots} & (13)\end{matrix}$

the coefficients A_(mn), B_(mn), D_(mn), and C_(mn) become:

A _(mK)=1+â _(mK) n=K

A _(mn) =â _(mn) ·a _(n·K) n=K+1, . . . Na+K

B _(mn) ={circumflex over (b)} _(mn) ·b _(n·K) n=0, 1, . . . , Nb+K

D _(mn) ={circumflex over (d)} _(mn) ·d _(n·K) n=0, 1, . . . , Nd+K

C _(mn) =ĉ _(mn) ·c _(n·K) n=0, 1, . . . , Nc+K  (14)

Here,

b _(n) =d _(n) =c _(n)=0(n<1), â _(m(Na+K)) ={circumflex over (b)}_(m(Nb+K)) ={circumflex over (d)} _(m(Nd+K)) =ĉ _(m(Nc+K))=0

Therefore, if the future error prediction value

e*(i+m)

is given as

e*(i+m)=r(i+m)−y*(i+m) m=1, 2 . . . , M  (15)

and the control input u(i) is determined so that the performancefunction of $\begin{matrix}{J = {{\sum\limits_{m = 1}^{M}\quad {w_{m}\{ {{e^{*}( {i + m} )} + {\alpha \quad {e( {i - K} )}}} \}^{2}}} + {c_{a}\{ {u(i)} \}^{2}} + {c_{d}\{ {\Delta \quad {u(i)}} \}^{2}}}} & (16)\end{matrix}$

is minimized, the expression (1) can be obtained by ∂J/∂u(i)=0. Therespective constants of qm, E, pn, gn, xn and tn are: $\begin{matrix}\begin{matrix}{{W = {{\sum\limits_{j = 1}^{M}\quad {w_{j}B_{j\quad 0}^{2}}} + c_{a} + c_{d}}}} \\{{q_{m} = {{w_{m}B_{m\quad 0}\text{/}W{~~~~~~~~~~~~~~~~~~~~~~~~~}m} = 1}},2,\ldots \quad,M} \\{{E = {\alpha {\sum\limits_{m = 1}^{M}\quad q_{m}}}}} \\{{p_{n} = {{\sum\limits_{m = 1}^{M}\quad {q_{m}A_{{m{({n + K})}}\quad}n}} = 0}},1,\ldots \quad,\quad {N\quad a}} \\{{{g_{1} = {\sum\limits_{m = 1}^{M}\quad {q_{m}{B_{m\quad 1} \cdot c_{d}}\text{/}W}}},}} \\{{g_{n} = {{\sum\limits_{m = 1}^{M}\quad {q_{m}B_{{mn}\quad}{~~}n}} = 2}},\ldots \quad,{{N\quad b} + K}} \\{{x_{n} = {{\sum\limits_{m = 1}^{M}\quad {q_{m}D_{{mn}\quad}{~~~~~~~~~~~~~~~~~~~}n}} = 0}},1,\ldots \quad,{{N\quad d} + K}} \\{{t_{n} = {{\sum\limits_{m = 1}^{M}\quad {q_{m}C_{{mn}\quad}n}} = 0}},1,\ldots \quad,\quad {{N\quad c} + K}}\end{matrix} & (17)\end{matrix}$

According to the above, using a transfer function model (Expression (4))in which the FF signals V_(FF)(i) and T_(FF)(i) are taken intoconsideration, it is possible to give the controlled object 9 a controlinput u(i) so that the performance function J (Expression (16)) isminimized, wherein it becomes possible to control with high follow-upaccuracy, by which the prediction accuracy is not degraded byfeedforward control.

Next, Expression (2) is derived. Using a discrete-time transfer functionmodel of the controlled object from two FF signals V_(FF)(i), T_(FF)(i)and the control input u(i) to output y(i), which is:

Y(z)={(b ₁ z ⁻¹ + . . . +b _(Nb) z ^(−Nb))U(z)+(d ₁ z ⁻¹ + . . . +d_(Nd) z ^(−Nd))V _(FF)(z)+(c ₁ z ⁻¹ + . . . +c _(Nc) z ^(−Nc))T_(FF)(z)}/(1−a ₁ z ⁻¹− . . . −a _(Na) z ^(−Na))  (18)

at the time (i), the output increment after the time i−K is predictedby: $\begin{matrix}{{\Delta \quad {y^{*}( {i - K + 1} )}} = {{{\sum\limits_{n = 1}^{N\quad a}\quad {a_{n}\Delta \quad {y( {i - K + 1 - n} )}}} + {\sum\limits_{n = 1}^{N\quad b}\quad {b_{n}\Delta \quad {u( {i - K + 1 - n} )}}} + {\sum\limits_{n = 1}^{N\quad d}\quad {d_{n}\Delta \quad {V_{FF}( {i - K + 1 - n} )}}} + {\sum\limits_{n = 1}^{N\quad c}\quad {c_{n}\Delta \quad {T_{FF}( {i - K + 1 - n} )}\quad m}}} = {{- K} + 1}}} & ( {19a} ) \\{{{\Delta \quad {y^{*}( {i + m} )}} = {{{\sum\limits_{n = 1}^{m + K - 1}\quad {a_{n}\Delta \quad {y^{*}( {i + m - n} )}}} + {\sum\limits_{n = {m + K}}^{N\quad a}\quad {a_{n}\Delta \quad {y( {i + m - n} )}}} + {\sum\limits_{n = 1}^{N\quad b}\quad {b_{n}\Delta \quad {u( {i + m - n} )}}} + {\sum\limits_{n = 1}^{N\quad d}\quad {d_{n}\Delta \quad {V_{FF}( {i + m - n} )}}} + {\sum\limits_{n = 1}^{N\quad c}\quad {c_{n}\Delta \quad {T_{FF}( {i + m - n} )}\quad m}}} = {{- K} + 2}}},{{- K} + 3},\ldots} & ( {19b} )\end{matrix}$

the output increment prediction value Δy*(i+m) becomes $\begin{matrix}{{{\Delta \quad {y^{*}( {i + m} )}} = {{\sum\limits_{n = K}^{{Na} + K - 1}\quad {A_{mn}\Delta \quad {y( {i - n} )}}} + {\sum\limits_{n = 0}^{{Nb} + K - 1}\quad {B_{mn}\Delta \quad {u( {i - n} )}}} + {\sum\limits_{n = 0}^{{Nd} + K - 1}\quad {D_{mn}\Delta \quad {V_{FF}( {i - n} )}}} + {\sum\limits_{n = 0}^{{Nc} + K - 1}\quad {c_{mn}\Delta \quad {T_{FF}( {i - n} )}}}}}{{m = {{- K} + 1}},{{- K} + 2},\ldots}} & (20)\end{matrix}$

Herein, where it is assumed that a future control input and feedforwardsignal increment are Δu(j)=ΔV_(FF)(j)=ΔT_(FF)(j)=0 (j=i+1, i+2, . . . ),the coefficients A_(mn), B_(mn), D_(mn), and C_(mn) become:$\begin{matrix}{{A_{{({{- K} + 1})}n} = a_{n - K + 1}}\quad {{m = {{{- K} + {1\quad n}} = K}},{K + 1},\ldots \quad,{{Na} + K - 1}}} & ( {21a} ) \\{{A_{mn} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j}*A_{{({m - j})}n}}} + a_{n + m}}}\quad {{m = {{- K} + 2}},{{- K} + 3},{{\ldots \quad n} = K},{K + 1},\ldots \quad,{{Na} + K - 1}}} & ( {21b} ) \\{{B_{{({{- K} + 1})}n}\quad = b_{n - K + 1}}{{m = {{{- K} + {1\quad n}} = 0}},1,\ldots \quad,{{Nb} + K - 1}}} & ( {22a} ) \\{{B_{mn} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j}*B_{{({m - j})}n}}} + b_{n + m}}}\quad {{m = {{- K} + 2}},{{- K} + 3},{{\ldots \quad n} = 0},1,\ldots \quad,{{Nb} + K - 1}}} & ( {22b} ) \\{{D_{{({{- K} + 1})}n} = d_{n - K + 1}}{{m = {{{- K} + {1\quad n}} = 0}},1,\ldots \quad,{{Nd} + K - 1}}} & ( {23a} ) \\{{D_{mn} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j}*D_{{({m - j})}n}}} + d_{n + m}}}{{m = {{- K} + 2}},{{- K} + 3},{{\ldots \quad n} = 0},1,\ldots \quad,{{Nd} + K - 1}}} & ( {23b} ) \\{{C_{{({{- K} + 1})}n} = c_{n - K + 1}}{{m = {{{- K} + {1\quad n}} = 0}},1,\ldots \quad,{{Nc} + K - 1}}} & ( {24a} ) \\{{C_{mn} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j}*C_{{({m - j})}n}}} + c_{n + m}}}\quad {{m = {{- K} + 2}},{{- K} + 3},{{\ldots \quad n} = 0},1,\ldots \quad,{{Nc} + K - 1}}} & ( {24b} )\end{matrix}$

Here, a_(n)=0 (n>Na), b_(n)=0 (n<1 and n>Nb), d_(n)=0 (n<1 and n>Nd),c_(n)=0 (n<1 and n>Nc). Therefore, if the future error prediction valuee*(i+m) is given as: $\begin{matrix}{{{e^{*}( {i + m} )} = {{\sum\limits_{s = {{- K} + 1}}^{m}\quad \{ {{\Delta \quad {r( {i + s} )}} - {\Delta \quad {y^{*}( {i + s} )}}} \}} + {e( {i - K} )}}}\quad {{m = 1},2,\ldots \quad,M}} & (25)\end{matrix}$

and the control input increment Δu(i) is determined so that theperformance function, which is: $\begin{matrix}{J = {{\sum\limits_{m = 1}^{M}\quad {W_{m}\{ {{e^{*}( {i + m} )} + {\alpha \quad {e( {i - K} )}}} \}^{2}}} + {c_{a}\{ {u(i)} \}^{2}} + {c_{d}\{ {\Delta \quad {u(i)}} \}^{2}}}} & (26)\end{matrix}$

is minimized, Expression (2) can be obtained by a ∂J/∂Δu(i)=0. Therespective constants vm, E, pn, gn, F, xn, and tn become:$\begin{matrix}\begin{matrix}{{\beta_{s} = {\sum\limits_{j = 1}^{g}\quad B_{j\quad 0}}},{W = {{\sum\limits_{s = 1}^{M}\quad {w_{g}\beta_{s}^{2}}} + c_{a} + c_{d}}},{~~~~~}{q_{s} = {w_{s}\beta_{s}\text{/}W}}} \\{{v_{m} = {{\sum\limits_{s = m}^{M}\quad {q_{s\quad}m}} = {{- K} + 1}}},{{- K} + 2},\ldots \quad,M} \\{E = {( {1 + \alpha} )v_{1}}} \\{{p_{n} = {{\sum\limits_{m = {{- K} + 1}}^{M}\quad {v_{m}A_{{m{({n + K})}}\quad}n}} = 0}},1,\ldots \quad,{{N\quad a} - 1}} \\{{g_{n} = {{\sum\limits_{m = {{- K} + 1}}^{M}\quad {v_{m}B_{{mn}\quad}n}} = 1}},2,\ldots \quad,{{{N\quad b} + K - {1\quad F}} = {c_{a}\text{/}W}}} \\{{x_{n} = {{\sum\limits_{m = {{- K} + 1}}^{M}\quad {v_{m}D_{{mn}\quad}n}} = 0}},1,\ldots \quad,{{N\quad d} + K - 1}} \\{{t_{n} = {{\sum\limits_{m = {{- K} + 1}}^{M}\quad {v_{m}C_{{mn}\quad}n}} = 0}},1,\ldots \quad,{{N\quad c} + K - 1}}\end{matrix} & (27)\end{matrix}$

According to the above, using the transfer function model (Expression(18)) in which FF signals V_(FF)(i) and T_(FF)(i) are taken intoconsideration, it is possible to give the controlled object 9 a controlinput u(i) so that the performance function J (Expression (26)) isminimized, and control of high follow-up accuracy can be secured, inwhich the prediction accuracy cannot be degraded by the feedforwardcontrol.

Next, Expression (3) is derived. In the case where discrete-timetransfer function model of the controlled object from two FF signalsV_(FF)(i), T_(FF)(i) and control input u(i) to output y(i) are obtainedby:

Y(z)={(b ₁ z ⁻¹ + . . . +b _(Nb) z ^(−Nb))U(z)+(d ₁ z ⁻¹ + . . . +d_(Nd) z ^(−Nd))V _(FF)(z)+(c ₁ z ⁻¹ + . . . + c _(Nc) z ^(−Nc))T_(FF)(z)}/{(1−z ⁻¹)(1−a ₁ z ⁻¹ − . . . −a _(Na) z ^(−Na))}  (28),

if, at the time i, the output increment after the time i−K is predictedby: $\begin{matrix}{{\Delta \quad {y^{*}( {i - K + 1} )}} = {{{\sum\limits_{n = 1}^{N\quad a}\quad {a_{n}\Delta \quad {y( {i - K + 1 - n} )}}} + {\sum\limits_{n = 1}^{N\quad b}\quad {b_{n}{u( {i - K + 1 - n} )}}} + {\sum\limits_{n = 1}^{N\quad d}\quad {d_{n}\quad {V_{FF}( {i - K + 1 - n} )}}} + {\sum\limits_{n = 1}^{N\quad c}\quad {c_{n}\quad {T_{FF}( {i - K + 1 - n} )}\quad m}}} = {{- K} + 1}}} & ( {29a} ) \\{{{\Delta \quad {y^{*}( {i + m} )}} = {{{\sum\limits_{n = 1}^{m + K - 1}\quad {a_{n}\Delta \quad {y^{*}( {i + m - n} )}}} + {\sum\limits_{n = {m + K}}^{N\quad a}\quad {a_{n}\Delta \quad {y( {i + m - n} )}}} + {\sum\limits_{n = 1}^{N\quad b}\quad {b_{n}\quad {u( {i + m - n} )}}} + {\sum\limits_{n = 1}^{N\quad d}\quad {d_{n}\quad {V_{FF}( {i + m - n} )}}} + {\sum\limits_{n = 1}^{N\quad c}\quad {c_{n}\quad {T_{FF}( {i + m - n} )}\quad m}}} = {{- K} + 2}}},{{- K} + 3},\ldots} & ( {29b} )\end{matrix}$

the output increment prediction value Δy*(i+m) becomes: $\begin{matrix}{{{\Delta \quad {y^{*}( {i + m} )}} = {{\sum\limits_{n = K}^{{Na} + K - 1}\quad {A_{mn}\Delta \quad {y( {i - n} )}}} + {\sum\limits_{n = 0}^{{Nb} + K - 1}\quad {B_{mn}\quad {u( {i - n} )}}} + {\sum\limits_{n = 0}^{{Nd} + K - 1}\quad {D_{mn}\quad {V_{FF}( {i - n} )}}} + {\sum\limits_{n = 0}^{{Nc} + K - 1}\quad {C_{mn}{T_{FF}( {i - n} )}}}}}\quad {{m = {{- K} + 1}},{{- K} + 2},\ldots}} & (30)\end{matrix}$

Herein, where it is assumed that the future control input andfeedforward signal are u(j)=u(i), V_(FF)(j)=V_(FF)(i),T_(FF)(j)=T_(FF)(i) (j=i+1, i+2, . . . ), the coefficients A_(mn),B_(mn), D_(mn), and C_(mn), are given by: $\begin{matrix}{{A_{{({{- K} + 1})}n} = a_{n - K + 1}}{{m = {{{- K} + {1\quad n}} = K}},{K + 1},...\quad,{{Na} + K - 1}}} & ( {31a} ) \\{{A_{mn} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j}*A_{{({m - j})}n}}} + a_{n + m}}}{{m = {{- K} + 2}},{{- K} + 3},{{...\quad n} = K},{K + 1},...\quad,{{Na} + K - 1}}} & ( {31b} ) \\{{B_{{({{- K} + 1})}n}\quad = b_{n - K + 1}}{{m = {{{- K} + {1\quad n}} = 0}},1,...\quad,{{Nb} + K - 1}}} & ( {32a} ) \\{{B_{m\quad 0} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j}*B_{{({m - j})}0}}} + {\sum\limits_{j = 1}^{m}\quad b_{j}}}}{{m = {{- K} + 2}},{{- K} + 3},{{...\quad n} = 0}}} & ( {32b} ) \\{{B_{mn} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j}*B_{{({m - j})}n}}} + b_{n + m}}}{{m = {{- K} + 2}},{{- K} + 3},{{...\quad n} = 1},2,...\quad,{{Nb} + K - 1}}} & ( {32c} ) \\{{D_{{({{- K} + 1})}n}\quad = d_{n - K + 1}}\quad {{m = {{{- K} + {1\quad n}} = 0}},1,...\quad,{{Nd} + K - 1}}} & ( {33a} ) \\{{D_{m\quad 0} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j}*D_{{({m - j})}0}}} + {\sum\limits_{j = 1}^{m}\quad d_{j}}}}{{m = {{- K} + 2}},{{- K} + 3},{{...\quad n} = 0}}} & ( {33b} ) \\{{D_{mn} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j}*D_{{({m - j})}n}}} + d_{n + m}}}{{m = {{- K} + 2}},{{- K} + 3},{{...\quad n} = 1},2,...\quad,{{Nd} + K - 1}}} & ( {33c} ) \\{{C_{{({{- K} + 1})}n}\quad = c_{n - K + 1}}{{m = {{{- K} + {1\quad n}} = 0}},1,...\quad,{{Nc} + K - 1}}} & ( {34a} ) \\{{C_{m\quad 0} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j}*C_{{({m - j})}0}}} + {\sum\limits_{j = 1}^{m}\quad c_{j}}}}{{m = {{- K} + 2}},{{- K} + 3},{{...\quad n} = 0}}} & ( {34b} ) \\{{C_{mn} = {{\sum\limits_{j = 1}^{m + K - 1}\quad {a_{j}*C_{{({m - j})}n}}} + c_{n + m}}}{{m = {{- K} + 2}},{{- K} + 3},{{...\quad n} = 1},2,...\quad,{{Nc} + K - 1}}} & ( {34c} )\end{matrix}$

Here, a_(n)=0 (n>Na), b_(n)=0 (n<1 and n>Nb), d_(n)=0 (n<1 and n>Nd),c_(n)=0 (n<1 and n>Nc). The future error prediction value e*(i+m) isgiven by: $\begin{matrix}{{{e^{*}( {i + m} )} = {{\sum\limits_{s = {{- K} + 1}}^{m}\quad \{ {{\Delta \quad {r( {i + s} )}} - {\Delta \quad {y^{*}( {i + s} )}}} \}} + {e( {i - K} )}}}{{m = 1},2,...\quad,M}} & (35)\end{matrix}$

and the control input u(i) is determined so that the performancefunction of $\begin{matrix}{J = {{\sum\limits_{m = 1}^{M}\quad {W_{m}\{ {{e^{*}( {i + m} )} + {\alpha \quad {e( {i - K} )}}} \}^{2}}} + {c_{a}\{ {u(i)} \}^{2}} + {c_{d}\{ {\Delta \quad {u(i)}} \}^{2}}}} & (36)\end{matrix}$

is minimized, then, Expression (3) can be obtained by Expression∂J/∂u(i)=0. The respective constants vm, E, pn, gn, xn, and tn are asfollows; $\begin{matrix}{{{{\beta_{s}{\sum\limits_{j = 1}^{s}B_{j0}}},{W = {{\sum\limits_{s = 1}^{M}{w_{s}\beta_{s}^{2}}} + c_{s} + c_{d}}},\quad {q_{s} = {w_{s}\beta_{s}\text{/}W}}}v_{m}{\sum\limits_{s = m}^{M}q_{s}}}{{m = {{- K} + 1}},{{- K} + 2},...\quad,M}{E = {( {1 + \alpha} )v_{1}}}{p_{n} = {\sum\limits_{m = {{- K} + 1}}^{M}{v_{m}A_{{m{({n + K})}}\quad}}}}{{n = 0},1,...\quad,{{Na} - 1}}{g_{1} = {{{\sum\limits_{m = {{- K} + 1}}^{M}{v_{m}B_{{m1}\quad}}} - {c_{d}\text{/}W\quad g_{n}}} = {\sum\limits_{m = {{- K} + 1}}^{M}{v_{m}B_{{mn}\quad}}}}}{{n = 2},...\quad,{{Nb} + K - 1}}{x_{n} = {\sum\limits_{m = {{- K} + 1}}^{M}{v_{m}D_{{mn}\quad}}}}{{n = 0},1,...\quad,{{Nd} + K - 1}}{t_{n} = {\sum\limits_{m = {{- K} + 1}}^{M}{v_{m}C_{{mn}\quad}}}}{{n = 0},1,...\quad,{{Nc} + K - 1}}} & (37)\end{matrix}$

According to the above, using the transfer function model (Expression(28)) in which FF signals V_(FF)(i) and T_(FF)(i) are taken intoconsideration, it is possible to give the controlled object 9 a controlinput u(i) so that the performance function J (Expression (36)) isminimized, and control of high follow-up accuracy can be secured, inwhich the prediction accuracy cannot be degraded by the feedforwardcontrol.

INDUSTRIAL APPLICABILITY

According to the invention, in calculations of a prediction controller,a future error prediction value is obtained by a transfer function modelin which feedforward signals are taken into consideration, and a controlinput is determined so that the performance function regarding thefuture prediction value and control input is minimized. Therefore, theprediction accuracy is not degraded by addition of the feedforwardcontrol, wherein control of high follow-up accuracy is enabled.

What is claimed is:
 1. A prediction controlling device outputting acontrol input and feedforward signal to the controlled object, so thatthe output of the controlled object is reconciled with a target command,comprising: a feedforward signal generation command filter that receivesa target command signal which is information of a future target commandas an input and outputs a future command increment which is an incrementfrom one sampling period to the next sampling period of a target commandsignal from the present sampling time to a multiple-sampling future andthe feedforward signal from the future target command signal; and aprediction controller that receives the future command increment, thefeedforward signal and a controlled object output at the past samplingtime over zero sampling as inputs, acquires the future error predictionvalue by using a transfer function model from the feedforward signal andthe control input to the controlled object output, determines thecontrol input so that the performance function of the error predictionvalue and the control input becomes minimal, and applies the controlinput to the controlled object; and wherein said prediction controllerincludes: an integrator that receives the future command increment as aninput and calculates said target command from the present sampling timeto a multiple-sampling future; a memory section that stores constantsfor prediction control in advance and receives as inputs said targetcommand calculated by said integrator, two feedforward signals,controlled object output, and control input, and stores the past targetcommand, past feedforward signals, past controlled object output andpast control input; a subtracter that subtracts said controlled objectoutput from said past target command and acquires the past error; and anoperational unit that receives as inputs the target command acquired bysaid integrator, the past feedforward signals, the past controlledobject output, the past control input and constants for predictioncontrol, which are stored by the memory section, and the error obtainedby the subtracter, obtains a future error prediction value by using adiscrete-time transfer function model, which is: Y(z)={(b ₁ z ⁻¹ + . . .+b _(Nb) z ^(−Nb))U(z)+(d ₁ z ⁻¹ + . . . +d _(Nd) z ^(−Nd))FF ₁(z)+(c ₁z ⁻¹ + . . . +c _(Nc) z ^(−Nc))FF ₂(z)}/(1−a ₁ z ⁻¹ − . . . −a _(Na) z^(−Na)), from the feedforward signal and the control input to thecontrolled object output where FF₁(z) and FF₂(z) are z-transform of thetwo feedforward signals, U(z) is z-transform of the above control input,Y(z) is z-transform of the controlled object output, Na, Nb, Nc, and Ndare natural numbers, and a₁, a₂, . . . , a_(Na), b₁, b₂, . . . , b_(Nb),c₁, c₂, . . . , c_(Nc), d₁, d₂, . . . , d_(Nd) are prescribedcoefficients, and determines and outputs the control input so that theperformance function of said corresponding future error prediction valueand control input is minimized; and further wherein, where x is aninteger indicating a sampling time, FF₁(x) and FF₂ (x) are said twofeedforward signals, u(x) is said control input, y(x) is said controlledobject output, r(x) is said target command, M, Na, Nb, Nc, and Nd arenatural numbers, K is an integer of K≧0, qm, pn, E, gn, xn, and tn aresaid constants for prediction control, and i is the present samplingtime, said operational unit calculates said control input, which is:${u(i)} = {{\sum\limits_{m = 1}^{M}{q_{m}{r( {i + m} )}}} - {\sum\limits_{n = 0}^{Na}{p_{n}{y( {i - K - n} )}}} + {{Ee}( {i - K} )} - {\sum\limits_{n = 1}^{{Nb} + K}{g_{n}{u( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nd} + K}{x_{n}{{FF}_{1}( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nc} + K}{t_{n}{{FF}_{2}( {i - n} )}}}}$

and outputs the same.
 2. A prediction controlling device outputting acontrol input and feedforward signal to the controlled object, so thatthe output of the controlled object is reconciled with a target command,comprising: a feedforward signal generation command filter that receivesa target command signal which is information of the future targetcommand as an input and outputs a future command increment which is anincrement from one sampling period to the next sampling period of atarget command signal from the present sampling time to amultiple-sampling future and the feedforward signal from the futuretarget command signal; and a prediction controller that receives thefuture command increment, the feedforward signal and a controlled objectoutput at the past sampling time over zero sampling as inputs, acquiresthe future error prediction value by using a transfer function modelfrom the feedforward signal and the control input to the controlledobject output, determines the control input so that the performancefunction of the error prediction value and the control input becomesminimal, and applies the control input to the controlled object; andwherein said prediction controller includes: a first difference unitthat receives said two feedforward signals as inputs and acquiresincrements of the respective sampling periods of the correspondingfeedforward signals as feedforward signal increments; a seconddifference unit that receives the past controlled object output as aninput and acquires increments of the respective sampling periods of thecorresponding controlled object output as the past output increments; amemory section that stores constants for prediction control in advance,receives as inputs the command increments, two feedforward signalincrements acquired by the first difference unit, output incrementacquired by the second difference unit, control input, and increment ofthe control input, and stores the past command increment, pastfeedforward signal increments, past output increment, past controlinput, and past increment of the control input; a subtracter thatsubtracts the past output increment from the past command increment andacquires an increment of the past error; a first integrator thatintegrates the increment of the error acquired by the subtracter andacquires said error; an operational unit that receives as inputs thefuture command increment, past command increment, past feedforwardsignal increments, past output increment, past control input, pastincrement of the control input, constants for the prediction control,which are stored by the memory means, and the error acquired by thefirst integrator, acquires a future error prediction value by using adiscrete-time transfer function model from the feedforward signals andthe control input to the controlled object output, which is: Y(z)={(b ₁z ⁻¹ + . . . +b _(Nb) z ^(−Nb))U(z)+(d ₁ z ⁻¹ + . . . +d _(Nd) z^(−Nd))FF ₁(z)+(c ₁ z ⁻¹ + . . . +c _(Nc) z ^(−Nc))FF ₂(z)}/(1−a ₁ z ⁻¹− . . . −a _(Na) z ^(−Na)) where FF₁(z) and FF₂(z) are z-transform ofthe two feedforward signals, U(z) is z-transform of the control input,Y(z) is z-transform of the controlled object output, Na, Nb, Nc, and Ndare natural numbers, and a₁, a₂, . . . , a_(Na), b₁, b₂, . . . , b_(Nb),c₁, c₂, . . . , c_(Nc), d₁, d₂, . . . , d_(Nd) are prescribedcoefficients, and determines and outputs the increment of the controlinput so that the performance function with respect to the correspondingfuture error prediction value and control input is minimized; and asecond integrator that integrates the increment of the control inputoutputted by said operational unit and acquires the control input, andfurther wherein said operational unit calculates and outputs theincrement of the control input, which is:${\Delta \quad {u(i)}} = {{\sum\limits_{m = {{- K} + 1}}^{M}\quad {v_{m}\Delta \quad {r( {i + m} )}}} - {\sum\limits_{n = 0}^{{N\quad a} - 1}\quad {p_{n}\Delta \quad {y( {i - K - n} )}}} + {E\quad {e( {i - K} )}} - {\sum\limits_{n = 1}^{{N\quad b} + K - 1}\quad {g_{n}\Delta \quad {u( {i - n} )}}} - {\sum\limits_{n = 0}^{{N\quad d} + K - 1}\quad {x_{n}\Delta \quad F\quad {F_{1}( {i - n} )}}} - {\sum\limits_{n = 0}^{{N\quad c} + K - 1}\quad {t_{n}\Delta \quad F\quad {F_{2}( {i - n} )}}} - {F\quad {u( {i - 1} )}}}$

where ΔFF₁(x) and ΔFF₂(x) are increments of the two feedforward signals,Δu(x) is an increment of the control input, Δy(x) is the outputincrement, Δr(x) is the command increment, e(x) is the error, M, Na, Nb,Nc, and Nd are natural numbers, K is an integer of K≧0, vm, pn, E, gn,xn, tn and Fare constants for the prediction control, and i is thepresent sampling time.
 3. A prediction controlling device outputting acontrol input and feedforward signal to the controlled object, so thatthe output of the controlled object is reconciled with a target command,comprising: a feedforward signal generation command filter that receivesa target command signal which is information of the future targetcommand as an input and outputs a future command increment which is anincrement from one sampling period to the next sampling period of atarget command signal from the present sampling time to amultiple-sampling future and the feedforward signal from the futuretarget command signal; and a prediction controller that receives thefuture command increment, the feedforward signal and a controlled objectoutput at the past sampling time over zero sampling as inputs, acquiresthe future error prediction value by using a transfer function modelfrom the feedforward signal and the control input to the controlledobject output, determines the control input so that the performancefunction of the error prediction value and the control input becomesminimal, and applies the control input to the controlled object; andwherein said prediction controller includes: a difference unit thatreceives the past controlled object output as an input and acquiresincrements of respective sampling periods of said correspondingcontrolled object output as the past output increments; a memory sectionthat stores constants for prediction control in advance, receives asinputs the command increment, two feedforward signals, output incrementobtained by said difference means, and control input, and stores saidpast command increment, said past feedforward signals, said past outputincrement, and said past control input; a subtracter that subtracts thepast output increment from the past command increment, and acquires thepast error increments; an integrator that integrates the increment ofthe error, which is obtained by said subtracter and acquires said error;and an operational unit that receives as inputs the future commandincrement, past command increment, past feedforward signal, past outputincrement, past control input, constants for the prediction control,which are stored by the memory section, and the error acquired by theintegrator, acquires a future error prediction value by using adiscrete-time transfer function model from the feedforward signals andthe control input to the controlled object output, which is Y(z)={(b ₁ z⁻¹ + . . . +b _(Nb) z ^(−Nb))U(z)+(d ₁ z ⁻¹ + . . . +d _(Nd) z ^(−Nd))FF₁(z)+(c ₁ z ⁻¹ + . . . + c _(Nc) z ^(−Nc))FF ₂(z)}/{(1−z ⁻¹)(1−a₁ z ⁻¹−. . . −a _(Na) z ^(−Na))} where FF₁(z) and FF₂(z) are z-transform of thetwo feedforward signals, U(z) is z-transform of the control input, Y(z)is z-transform of the controlled object output, Na, Nb, Nc, and Nd arenatural numbers, a₁, a₂, . . . , a_(Na), b₁, b₂, . . . , b_(Nb), c₁, c₂,. . . , c_(Nc), d₁, d₂, . . . , d_(Nd) are prescribed coefficients, anddetermines and outputs the control input so that the performancefunction with respect to the corresponding future error prediction valueand control input is minimized, and further wherein said operationalunit calculates and outputs said control input, which is:${u(i)} = {{\sum\limits_{m = {{- K} + 1}}^{M}{v_{m}\Delta \quad {r( {i + m} )}}} - {\sum\limits_{n = 0}^{{Na} - 1}{p_{n}\Delta \quad {y( {i - K - n} )}}} + {{Ee}( {i - K} )} - {\sum\limits_{n = 1}^{{Nb} + K - 1}{g_{n}{u( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nd} + K - 1}{x_{n}{{FF}_{1}( {i - n} )}}} - {\sum\limits_{n = 0}^{{Nc} + K - 1}{t_{n}{{FF}_{2}( {i - n} )}}}}$

where FF₁(x) and FF₂(x) are the two feedforward signals, u(x) is thecontrol input, Δy(x) is the output increment, Δr(x) is the commandincrement, e(x) is the error, vm, pn, E, gn, xn, and tn are constantsfor the prediction control, and i is the present sampling time.
 4. Theprediction controlling device as set forth in any one of claims 1through 3, wherein said feedforward signal generation command filterreceives said target command signal at the present sampling time as aninput, and outputs increments between respective sampling periods ofsaid corresponding target command signals or signals obtained byfiltering said target command signals as said future command increments.5. The prediction controlling device as set forth in any one of claims 1through 3, wherein said feedforward signal generation command filtercalculates and outputs said feedforward signals, which are: FF₁(i)=Gain1·Δr(i+m 1) FF ₂(i)=Gain2·{Δr(i+m 2)−Δr(i+m 2−1)} where i isthe present sampling time, Gain1 and Gain2 are constants, m1 and m2 areintegers of 0≦m1≦m2, Δr(i+m1) is said command increment of m1 samplingfuture, and FF₁(i) and FF₂(i) are said feedforward signals.
 6. Theprediction controlling device as set forth in any one of claims 1through 3, wherein said controlled object includes a motor and its speedcontroller, said control input is a speed command, said controlledobject output is a motor position, and said feedforward signals are afeedforward signal for speed control and a feedforward signal for torquecontrol.